# 数据库错误
CREATE_OK = 111
CREATE_ERROR = 110
CREATE_HAD = 113
DELETE_OK = 121
DELETE_ERROR = 120
UPDATE_OK = 131
UPDATE_ERROR = 130
SELECT_OK = 141
SELECT_ERROR = 140
SELECT_EMPTY = 142
SELECT_FORMAT_ERR = 143

# 参数错误
PARAMS_ERROR = 210
PARAMS_EMPTY = 212

# 操作错误
LOGIN_ERROR = 311
LOGIN_OK = 310
LOGIN_EMPTY = 312
SIGNIN_ERROR = 321
SIGNIN_OK = 320
SIGNIN_EMPTY = 322
SIGNIN_HAD = 323

# 数据处理
SERIA_ERROR = 401
RESP_ERR = 411

# 文件处理
FILE_UPDATE_OK = 501
FILE_UPDATE_ERR = 500
FILE_DEL_OK = 511
FILE_DEL_ERR = 510
FILE_SELECT_ERR = 520

# 第三方服务错误
SERVER_DISCON = 603
SERVER_EMPTY = 602
SERVER_OK = 601
SERVER_ERROR = 600

ERR_MSG = {
    # 数据库错误
    111: "创建成功",
    110: "创建失败",
    113: "数据重复",
    121: "删除成功",
    120: "删除失败",
    131: "修改成功",
    130: "修改失败",
    141: "查询成功",
    140: "查询失败",
    142: "查询为空",
    143: "查询序列化失败",
    # 参数错误
    210: "参数错误",
    212: "参数为空",
    # 操作错误
    311: "登录失败",
    310: "登陆成功",
    312: "登录信息有空",
    321: "注册失败",
    320: "注册成功",
    322: "注册有空值",
    323: "用户存在",
    # 数据处理
    401: "格式转换失败",
    411: "相应失败",
    # 文件处理
    501: "文件上传成功",
    500: "文件上传失败",
    511: "文件删除成功",
    510: "文件删除失败",
    520: "文件查询失败",
    # 第三方服务错误
    600: "错误",
    601: "成功",
    602: "为空",
    603: "未连接"
}


class ErrorMsg(object):
    def __init__(self, error_code, err_msg=None):
        self.err_code = error_code
        if err_msg is None:
            self.err_msg = ERR_MSG.get(error_code)
        else:
            self.err_msg = err_msg
    
    @property
    def msg(self):
        return [self.err_code, self.err_msg, None, 0]
